<?php

namespace app\client\admin;


use app\logic\admin\L_memberAdmin;

//客户端层, 用来初始化数据,如规则默认数据等等
class C_memberAdmin
{
    public $L_memberAdmin;

    public function __construct()
    {
        $this->L_memberAdmin = new L_memberAdmin();
    }

    public function store($paramObj = "")
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //后面覆盖前面的数据，数组进行融合不完全覆盖。
        $checkResult = $this->L_memberAdmin->store($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }

    public function update($paramObj = "")
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。


        $checkResult = $this->L_memberAdmin->update($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }

    public function getInfo($paramObj = "")
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult = app("S_Admin_memberAdmin")->info($paramsObj);
        if ($checkResult["error_no"] == 0) {
            $checkResult["result"]["password"] = "";
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }

    public function delete($paramObj = ""): array
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult = app("S_Admin_memberAdmin")->delete($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }

    public function listData($paramObj = ""): array
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult = $this->L_memberAdmin->listData($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            recordErrorLog($checkResult); //记录错误信息
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }


    public function setRole($paramObj = ""): array
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。


        $checkResult = $this->L_memberAdmin->setRole($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }
    public function setStatus($paramObj = ""): array
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。


        $checkResult = $this->L_memberAdmin->setStatus($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }
    public function setNewPassword($paramObj = ""): array
    {
        $paramsObj = paramsObj();  //获取空对象
        $paramsObj->mixed = 1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages = "";       //设置消息提示
        $paramsObj->rules = array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault = array(  //设置默认信息
        );
        $paramsObj = blenderObject($paramsObj, $paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。


        $checkResult = $this->L_memberAdmin->setNewPassword($paramsObj);
        if ($checkResult["error_no"] == 0) {
            return apiResult(true, "success", 0, $checkResult["result"], $checkResult["extra"]);
        } else {
            return apiResult(false, $checkResult["error_msg"], $checkResult["error_no"]);
        }
    }
}